﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract.Enums" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract.Enums" minOccurs="0" name="Role" type="q1:UserRole" />
      <xs:element minOccurs="0" name="UserId" type="xs:int" />
      <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfValueIdPair">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ValueIdPair" nillable="true" type="tns:ValueIdPair" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfValueIdPair" nillable="true" type="tns:ArrayOfValueIdPair" />
  <xs:complexType name="ValueIdPair">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ValueIdPair" nillable="true" type="tns:ValueIdPair" />
  <xs:complexType name="Minister">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:PersonDetails">
        <xs:sequence>
          <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
          <xs:element minOccurs="0" name="AssignmentEndDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="AssignmentStartDate" type="xs:dateTime" />
          <xs:element minOccurs="0" name="CellPhoneNumber" nillable="true" type="xs:string" />
          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Languages" nillable="true" type="q2:ArrayOfstring" />
          <xs:element minOccurs="0" name="MinisterCode" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="MinisterId" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PhoneNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="SpecialAssignment" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Minister" nillable="true" type="tns:Minister" />
  <xs:complexType name="PersonDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="BirthdayNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FirstNames" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PersonDetails" nillable="true" type="tns:PersonDetails" />
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CoAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PostCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StreetAddress" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Address" nillable="true" type="tns:Address" />
  <xs:complexType name="Ceremony">
    <xs:sequence>
      <xs:element minOccurs="0" name="CeremonyLanguage" nillable="true" type="tns:ValueIdPair" />
      <xs:element minOccurs="0" name="CertificateLanguage" nillable="true" type="tns:ValueIdPair" />
      <xs:element minOccurs="0" name="ImpedimentDocAllowDelayDays" type="xs:int" />
      <xs:element minOccurs="0" name="ImpedimentDocEarliestDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ImpedimentDocIssuedDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ImpedimentDocLatestDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Interpreter" type="xs:boolean" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OtherLanguage" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SpecialNeeds" nillable="true" type="tns:ArrayOfValueIdPair" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Ceremony" nillable="true" type="tns:Ceremony" />
  <xs:complexType name="ArrayOfMinister">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Minister" nillable="true" type="tns:Minister" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMinister" nillable="true" type="tns:ArrayOfMinister" />
  <xs:complexType name="ArrayOfMinisterTimeBlock">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MinisterTimeBlock" nillable="true" type="tns:MinisterTimeBlock" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMinisterTimeBlock" nillable="true" type="tns:ArrayOfMinisterTimeBlock" />
  <xs:complexType name="MinisterTimeBlock">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TimeBlock">
        <xs:sequence>
          <xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Interval" type="xs:int" />
          <xs:element minOccurs="0" name="Minister" nillable="true" type="tns:Minister" />
          <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
          <xs:element minOccurs="0" name="TempMinister" nillable="true" type="tns:Minister" />
          <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract.Enums" minOccurs="0" name="TimeBlockStatus" type="q3:TimeBlockStatus" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="MinisterTimeBlock" nillable="true" type="tns:MinisterTimeBlock" />
  <xs:complexType name="TimeBlock">
    <xs:sequence>
      <xs:element minOccurs="0" name="StartDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TimeBlockId" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TimeBlock" nillable="true" type="tns:TimeBlock" />
  <xs:complexType name="ParvisUser">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:User">
        <xs:sequence>
          <xs:element minOccurs="0" name="CellPhoneNumber" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
          <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ParvisUserId" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="PhoneNumber" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ParvisUser" nillable="true" type="tns:ParvisUser" />
  <xs:complexType name="ArrayOfParvisUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ParvisUser" nillable="true" type="tns:ParvisUser" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfParvisUser" nillable="true" type="tns:ArrayOfParvisUser" />
  <xs:complexType name="Booking">
    <xs:sequence>
      <xs:element minOccurs="0" name="BookingId" type="xs:int" />
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/StockholmsStad.Runtime.Serialization.DataContract.Enums" minOccurs="0" name="CeremonyType" type="q4:CeremonyType" />
      <xs:element minOccurs="0" name="DateTime" nillable="true" type="tns:TimeBlock" />
      <xs:element minOccurs="0" name="MinisterCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PreferredDate1" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="PreferredDate2" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Booking" nillable="true" type="tns:Booking" />
  <xs:complexType name="ArrayOfHistory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="History" nillable="true" type="tns:History" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfHistory" nillable="true" type="tns:ArrayOfHistory" />
  <xs:complexType name="History">
    <xs:sequence>
      <xs:element minOccurs="0" name="DateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="HistoryId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Information" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ModifiedByUser" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TicketId" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="History" nillable="true" type="tns:History" />
  <xs:complexType name="ArrayOfTimeBlock">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TimeBlock" nillable="true" type="tns:TimeBlock" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTimeBlock" nillable="true" type="tns:ArrayOfTimeBlock" />
  <xs:complexType name="CeremonyBooking">
    <xs:sequence>
      <xs:element minOccurs="0" name="Ceremony" nillable="true" type="tns:Ceremony" />
      <xs:element minOccurs="0" name="Minister" nillable="true" type="tns:Minister" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CeremonyBooking" nillable="true" type="tns:CeremonyBooking" />
</xs:schema>